價格:免費
更新日期:2019-01-19
檔案大小:5.3M
目前版本:1.4
版本需求:Android 5.0 以上版本
官方網站:mailto:gemcodestudios@gmail.com
Email:https://docs.google.com/document/d/1l46AvR0NMscBl7WqEzx2T_Iwt4pTIEBWGZLYP_eRv9E/edit?usp=sharing
聯絡地址:Greenford London UK
This application is specifically designed for students and electronics engineers and hobbyist working with Arduino and Raspberry Pi micro controllers. It uses OpenCV libararies for computer vision detection and classification including Google Tensorflow Lite machine learning.
The application can detect and track various types of objects from your phones camera such as lines, colour blobs, circles, rectangles and people. Detected object types and screen positions can then be sent to a Bluetooth receiver device such as HC-05.
If using an appropriate micro-controller e.g. Arduino or Raspberry Pi users can analyse the detected objects for further robotics based projects. A typical example could be to attach a phone to a 2 or 4W robot kit which can then track/follow a ball or person.
Key Application Features:
1. Colour Blob Detect and Track
2. Circle Detect and Track
3. Line Detect
4. People Detect and Track Using Histogram of Gradients (HoG)
5. Rectangle detection.
6. Detection of TensorFlow Lite Coco Label Objects (E.g. Persons, Cats, Cars, TV, etc)
7. Send detected object parameters over Bluetooth.
Note that all image processing operations work best in good lighting conditions. If you are unable to detect objects please try changing some of the configuration settings. Also note that the tracking algorithms implemented are simplistic and hence will not work reliably when multiple objects overlap each other.
Bluetooth Data Transmit Formats:
All data communication is sent as ASCII text in the following format:
"Object Type":"ID":"XPos","YPos","Width","Height"
Example Colour Blob Object: "CO:0:-40,60,0,0"
Where ID is a number between 0 and 4 with no tracking, or any unique integer tracked ID number with tracking option.
The x and y positions relate to the centre of the colour blob with 0,0 being at the centre of the camera preview screen.
Example Circle Object No Tracking: "CC:0:-40,60,20,0"
Where x,y positions give centre of circle, and width gives radius of circle.
In tracking mode the x,y,w,h provide the inside rectangle of the circle.
Example Circle Object with Filter On Colour: "FC:0:-40,60,20,0"
Where x,y positions give centre of circle, and width gives radius of circle.
Example Line Object: "LO:0:-40,60,20,200"
Where x,y positions gives first line point, and w,h givds second line point.
Example People Object No Tracking: "PO:0:-40,60,20,0"
Where x,y positions gives top left of rectangle, and w, h gives width and height.
Example People Object with Filter On Colour: "FP:0:-40,60,20,0"
Where x,y positions gives top left of rectangle, and w, h gives width and height of rectangle.
All tracked objects: "TO:0:-40,60,20,40".
where x,y positions gives centre of rectangle, and w, h gives width and height from centre of rectangle. Note that if filtering on circle and people, tracked object ids will reset to zero for overlapped colour objects.
TensorFlow Objects: "ObjectTitle:0:-40,60,20,40"
Where ObjectTitle is any classified TensorFlow object e.g. "Person", "Cup", "Bottle" etc.. X,Y positions gives centre of rectangle, and w, h gives width and height from centre of rect. Note that if filtering on colour blob intersection ensure that colour blob tracking is enabled.
Format for Filter on TensorFlow: "FTF:Person:-40,60,20,40". Where "Person" can be any of the available detected TensorFlow object types defined within the coco_labels_list.txt (See Google TensorFlowLite).
Full online help at Git Hub:/
https://github.com/GemcodeStudios/ObjectDetectionTracking
Copyright Gemcode Studios 2019